/**
 * Iterator for a Collection of Objects
 * @param <T> Generic type.
 * @author Lukas Koell
 * @author David Medenjak
 * @author Johannes Riedmann
 */
public interface Iter<T>{

    /**
     * @return the next element in the Collection of T-s
     */
    public T next();
    
    /**
     * @return wether the collection has another element or not
     */
    public boolean hasNext();
    
    /**
     * @return the previous element in the Collection of T-s
     */
    public T previous();

    /**
     * @return wether the collection has a previous element or not
     */
    public boolean hasPrevious();
}
